home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / spiele / publicdomain / scott / docs / definit.txt next >
Text File  |  1996-07-29  |  6KB  |  143 lines

  1. Game
  2.  
  3. A game consists of a header of 14 values each apparently 16 bit
  4.  
  5. 0       Unknown
  6. 1       Number of items
  7. 2       Number of actions
  8. 3       Number of Nouns and Verbs (one list is padded)
  9. 4       Number of rooms
  10. 5       Maximum a player can carry
  11. 6       Starting Room
  12. 7       Total Treasures (*)
  13. 8       Word Length (only seen 3,4 or 5)
  14. 9       Time light source lasts. This counts down every time item 9 is
  15.         in game. Brian Howarths games allow -1 for never run down. When
  16.         it runs out the light item (9) is dumped in room 0 and a look
  17.         done. Messages vary between interpreters and include things
  18.         like 'Your light is flickering and dying' as well as
  19.         'Light runs out in %d turns'.
  20. 10      Number of Messages
  21. 11      Room you must put treasure in to score points. Not all games use
  22.         the treasure system for scoring
  23. 12      Unknown
  24.  
  25. All the number of something values are the last item to be read counting
  26. from 0. Thus 3 messages, means messages 0, 1, 2 and 3.
  27.  
  28. (*) This can be calculated in game. What happens if the number is wrong
  29. I don't know. I've found no games that it occurs in.
  30.  
  31. A game has 16 (maybe more) binary flags, and 8 (maybe more counters). A few
  32. later games seem to have 2 (maybe more) values to store location numbers in
  33. temporarily - eg Yoho spell in Claymorgue.
  34.  
  35. Following the header is a list of game actions. Each is of the form
  36.  
  37. 150*verb+noun
  38. 5 repeats of condition+20*value
  39. 150*action1+action2
  40. 150*action3+action4
  41.  
  42. Conditions
  43.  
  44. 0       Parameter
  45. 1       Item <arg> carried
  46. 2       Item <arg> in room with player
  47. 3       Item <arg> carried or in room with player
  48. 4       In room <arg>
  49. 5       Item <arg> not in room with player
  50. 6       Item <arg> not carried
  51. 7       Not in room <arg>
  52. 8       BitFlag <arg> is set.
  53. 9       BitFlag <arg> is cleared
  54. 10      Something carried       (arg unused)
  55. 11      Nothing carried         (arg unused)
  56. 12      Item <arg> not carried nor in room with player
  57. 13      Item <arg> is in game           [not in room 0]
  58. 14      Item <arg> is not in game       [in room 0]
  59. 15      CurrentCounter <= <arg>
  60. 16      CurrentCounter >= <arg>
  61. 17      Object still in initial room
  62. 18      Object not in initial room
  63. 19      CurrentCounter = <arg>
  64.  
  65. Actions
  66.  
  67. 0       Does nothing
  68. 1-51    Print message 0-50. Some drivers add a space some add a newline.
  69. 52      Get item <arg>. Checks if you can carry it first
  70. 53      Drops item <arg>
  71. 54      Moves to room <arg>
  72. 55      Item <arg> is removed from the game (put in room 0)
  73. 56      The darkness flag is set
  74. 57      The darkness flag is cleared
  75. 58      Bitflag <arg> is set
  76. 59      The same as 55 (it seems - I'm cautious about this)
  77. 60      BitFlag <arg> is cleared
  78. 61      Death. Dark flag cleared, player moved to last room
  79. 62      Item <arg> put in room <arg>
  80. 63      Game over.
  81. 64      Describe room
  82. 65      Score
  83. 66      Inventory
  84. 67      BitFlag 0 is set
  85. 68      BitFlag 0 is cleared
  86. 69      Refill lamp (?)
  87. 70      Screen is cleared. This varies by driver from no effect upwards
  88. 71      Saves the game. Choices of filename etc depend on the driver alone.
  89. 72      Swap item <arg1> and item <arg2> locations
  90. 73      Continue with next line (the next line starts verb 0 noun 0)
  91. 74      Take item <arg> - no check is done too see if it can be carried.
  92. 75      Put item <arg1> with item <arg2> - Not certain seems to do this
  93.         from examination of Claymorgue
  94. 76      Look (same as 64 ?? - check)
  95. 77      Decrement current counter. Will not go below 0
  96. 78      Print current counter value. Some drivers only cope with 0-99
  97.         apparently
  98. 79      Set current counter value
  99. 80      Swap location with current location-swap flag
  100. 81      Select a counter. Current counter is swapped with backup counter
  101.         <arg>
  102. 82      Add <arg> to current counter
  103. 83      Subtract <arg> from current counter
  104. 84      Echo noun player typed without CR
  105. 85      Echo the noun the player typed
  106. 86      CR
  107. 87      Swap current location value with backup location-swap value <arg>
  108. 88      Wait 2 seconds
  109. 89      SAGA - draw picture <n> (actually <n+number of rooms>, as each
  110.         Look() draws picture <room number> automatically)
  111.         Older spectrum driver - crashes
  112.         Spectrum Seas of Blood - seems to start Fighting Fantasy combat mode
  113. 90-101  Unused
  114. 102+    Print message 51-99
  115.  
  116.  
  117. This is followed by the words with verbs and nouns interleaved. A word with
  118. a * at the beginning is a synonym for the word above.
  119. Verb 1 is GO, verb 10 is GET, verb 18 is DROP (always).
  120. Nouns 1-6 are directions.
  121.  
  122. This is followed by the rooms. Each room is 6 exits (north south east west
  123. up down) followed by a text string.
  124.  
  125. Then come the messages, stored as a list of strings.
  126.  
  127. Next come the items in the format item text then location. Item text may
  128. end with /TEXT/. This text is not printed but means that an automatic
  129. get/drop will be done for 'GET/DROP TEXT' on this item. Item names beginning
  130. with '*' are treasures. The '*' is printed. If you put all treasures in the
  131. treasure room (in the header) and 'SCORE' the game finishes with a well done
  132. message. Item location -1 is the inventory (255 on C64 and Spectrum tape
  133. games) and 0 means not in play in every game I've looked at. The lamp (always
  134. object 9) behaviour supports this belief.
  135.  
  136. A set of strings follow this. In order they match to each line of verb/noun
  137. actions, and are comments. The Spectrum and C64 tape system where the
  138. database is compiled into the program has no comments.
  139.  
  140. Finally three values follow which are version, adventure number and an
  141. unknown magic number.
  142.  
  143.